import 'package:json_annotation/json_annotation.dart';

import 'kh_assign_shiyin_model.dart';
import 'kh_room_category_model.dart';
import 'kh_room_rank_user_model.dart';
part 'kh_chat_room_info_model.g.dart';

@JsonSerializable()
class KHChatRoomInfoModel {
  int? recId;
  int? id;
  int? userId;
  int? roomTemplateId;
  int? roomCategoryId;

  /// 厅二级分类
  int? secondCategoryId;

  /// 厅二级分类名称
  String? secondCategoryName;

  /// 流量包状态：0-没有 1-开启 2-未开启
  int? exposeStatus;

  /// 房间号
  String? roomNo;
  String? roomCode;
  String? icon;
  String? name;
  bool? isGangUpRoom; //是否是语音开黑房卡片（IM卡片用）
  String? slogan; //欢迎语
  String? notice; //房间公告
  String? broadcast; //广播
  String? password;

  bool? isLock;
  String? ownerMobile;
  bool? isShow; //是否在大厅展示，c2c房间中的”房间隐私“也是这个字段
  bool? isActivate;
  bool? isOpenChat;
  int? people; //交友厅版本该值已修改为代表：房间总热度
  int? virtualPeople; //交友厅版本已废弃该字段的使用
// 交友厅版本新增字段
  String? virtualTitle; //房间顶部数字对应虚拟标题
  int? hotValue; //热度值
  int? virtualHotValue; //虚拟热度
  int? realPeopleFactor; //真实人数系数（声网返回真实人数乘以该系数）

  int? orderRate;
  int? satisfy;
// @property (strong, nonatomic) NSDate *assignOrderTime;
// 默认麦序时长
  int? micDuration;

  List<KHRoomCategoryModel>? roomCategoryList;

  String? roomCategoryName;

// 排行榜
  List<KHRoomRankUserModel>? roomTops;

// 最近试音
  List<KHAssignShiyinModel>? shiyinTops;

// 聊天室背景图
  String? backUrl;

  /// 聊天室动态背景图
  String? webpUrl;

/**
* 聊天室警告用户违规文案显示频率（分钟）
*/
  int? msgUnit;
/**
* 聊天室警告用户违规文案
*/
  String? roomMsg;

/**
* 房间玩法弹窗展示收起时间，单位秒
*/
  int? noticeTime;
/**
* 房间玩法弹窗展示次数0:表示不展示，1:表示每次进房间展示
*/
  int? noticeCount;

//是否接受pk
  int? pkAccept;

//pk时长（秒）
  int? pkResetDuring;

//pk类型
  int? pkType;

  /// 互动游戏 是否接受pk
  int? barrageGameAccept;

  /// 互动游戏 pk时长（秒）
  int? barrageGameDuring;

  /// C2C房间新增参数
  int? micMode; //上麦模式，0须房主同意，1自由上麦

  int? roomType; //房间类型 1扩列聊天 2组队开黑

  String? speedMatchIcon; //列表类型图标

  String? categoryTag; //列表房间类型标签

  String? backgroundImg; //扩列改版后底图

  String? backgroundUrl; //房间卡片背景

  String? coverFrameColor; //房间封面框色值

  String? roomIcon; //房间封面图

  String? hostUserHeadUrl; //主持头像

  int? hostGender; //名字

  String? hostUserId; //主持id

  String? hostUserName; //主持名字

// @property (strong, nonatomic) NSArray<KHHomeUserInfoModel *> *micUsers; //左下角轮播头像

  String? rightBottomIcon; //右上方的 new和hot图标

  int? realPeople; //真实人数

  String? roomName; //房间名称

  bool? auditFlag; //审核中

  String? songName; //正在演唱...

  /// 房间沉浸式新增
  ///< 用户收藏人数
  int? collectCount;

  ///< 粉丝人数
  int? fansCount;

  ///< 房主头像
  String? homeOwnerImg;

  ///< 房主昵称
  String? ownerNickname;

  ///< 房间封面
//@String?icon;
  ///< 是否达到爆点
  String? boomMinHotValue;

  KHChatRoomInfoModel();
  factory KHChatRoomInfoModel.fromJson(Map<String, dynamic> json) =>
      _$KHChatRoomInfoModelFromJson(json);
  Map<String, dynamic> toJson() => _$KHChatRoomInfoModelToJson(this);
}
